﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
/*
⑺ 上位机参数设定命令：温室接收
第01字节：帧头（53H：S）
第02字节：帧长（57H）
第03字节：ID（温室ID：1-200）
第04字节：风速上限—用于强制合拢
------------1#拉幕参数------------
第05字节：手动自动标志（ACC.0: 0-手动，1-自动）
第06字节：手动运行方向（ACC.0: 0-合拢，1-展开）
第07字节：手动运行幅度（0-100）
第08字节：光照上限低字节
第09字节：光照上限高字节
第0A字节：光照下限低字节
第0B字节：光照下限高字节
第0C字节：光照有效性(ACC.0)
第0D字节：温室温度上限
第0E字节：温室温度下限
第0F字节：温室温度有效性(ACC.0)
第10字节：确认时间字节
第11字节：1#拉幕全程运行时间低字节
第12字节：1#拉幕全程运行时间高字节
------------2#拉幕参数------------
第13字节：手动自动标志（ACC.0: 0-手动，1-自动）
第14字节：手动运行方向（ACC.0: 0-合拢，1-展开）
第15字节：手动运行幅度（0-100）
第16字节：光照上限低字节
第17字节：光照上限高字节
第18字节：光照下限低字节
第19字节：光照下限高字节
第1A字节：光照有效性(ACC.0)
第1B字节：温室温度上限
第1C字节：温室温度下限
第1D字节：温室温度有效性(ACC.0)
第1E字节：确认时间字节
第1F字节：1#拉幕全程运行时间低字节
第20字节：1#拉幕全程运行时间高字节
------------1#通风窗参数------------
第21字节：手动自动标志（ACC.0: 0-手动，1-自动）
第22字节：手动运行方向（ACC.0: 0-关，1-开）
第23字节：手动运行幅度（0-100）
第24字节：温室温度有效性(ACC.0)
第25字节：温室温度上限
第26字节：温室温度下限
第27字节：室外温度下限低字节--用于不开窗
第28字节：温度确认时间字节
第29字节：全程运行时间低字节
第2A字节：全程运行时间高字节
------------2#通风窗参数------------
第2B字节：手动自动标志（ACC.0: 0-手动，1-自动）
第2C字节：手动运行方向（ACC.0: 0-关，1-开）
第2D字节：手动运行幅度（0-100）
第2E字节：温室温度有效性(ACC.0)
第2F字节：温室温度上限
第30字节：温室温度下限
第31字节：室外温度下限低字节--用于不开窗
第32字节：温度确认时间字节
第33字节：全程运行时间低字节
第34字节：全程运行时间高字节
----------灌溉加湿电磁阀----------
第35字节：手动自动标志（ACC.0: 0-手动，1-自动）
第36字节：手动运行方向（ACC.0: 0-停，1-开）
第37字节：土壤湿度上限
第38字节：土壤湿度下限
第39字节：土壤湿度有效性(ACC.0)
第3A字节：湿度确认时间字节
第3B字节：固定灌溉有效性(ACC.0)
第3C字节：固定灌溉起始时间1--小时
第3D字节：固定灌溉起始时间1--分钟
第3E字节：固定灌溉时间1内灌溉时长低字节
第3F字节：固定灌溉时间1内灌溉时长高字节
第40字节：固定灌溉起始时间2--小时
第41字节：固定灌溉起始时间2--分钟
第42字节：固定灌溉时间2内灌溉时长低字节
第43字节：固定灌溉时间2内灌溉时长高字节
----------风机参数----------
第44字节：手动自动标志（ACC.0: 0-手动，1-自动）
第45字节：手动运行方向（ACC.0: 0-停，1-开）
第46字节：温室温度上限
第47字节：温室温度下限
第48字节：温室温度有效性(ACC.0)
第49字节：室外温度下限字节--用于不开风扇
第4A字节：温度确认时间字节
----------湿帘泵参数----------
第4B字节：手动自动标志（ACC.0: 0-手动，1-自动）
第4C字节：手动运行方向（ACC.0: 0-停，1-开）
第4D字节：温室温度上限
第4E字节：温室温度下限
第4F字节：温室温度有效性(ACC.0)
第50字节：室外温度下限字节--用于不开泵
第51字节：温度确认时间字节
第52字节：温室温度报警上限
第53字节：温室温度报警下限
第54字节：土壤湿度报警上限
第55字节：土壤湿度报警下限
第56字节：报警确认时间字节
第57字节：校验字节（0AAH）



 * **/
namespace YmSoft.Old
{
    [DataContract]
    [MsgVM]
    public abstract class RoomSetBase : MsgBase
    {
        public RoomSetBase() : base() { }
        public RoomSetBase(Byte[] data) : base(data) { }

        [SP(0x03)]
        [DataMember]
        public byte Id { get; set; }



        [SP(0x04)]
        [MsgVM]
        [DataMember]
        public byte P1拉幕风速上限 { get; set; }



        #region P1拉幕

        #region P1拉幕手动自动标志

        [MsgVM]
        public byte P1拉幕手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(P1拉幕手动自动标志EX);
            }
            set
            {
                P1拉幕手动自动标志EX = (byte)(P1拉幕手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1拉幕手动自动标志ACC { get; set; }

        [SP(0x05)]
        [DataMember]
        public byte P1拉幕手动自动标志EX { get; set; }

        #endregion

        #region P1拉幕手动运行方向

        [MsgVM]
        public byte P1拉幕手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(P1拉幕手动运行方向EX);
            }
            set
            {
                P1拉幕手动运行方向EX = (byte)(P1拉幕手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1拉幕手动运行方向ACC { get; set; }

        [SP(0x06)]
        [DataMember]
        public byte P1拉幕手动运行方向EX { get; set; }

        #endregion

        [SP(0x07)]
        [MsgVM]
        [DataMember]
        public byte P1拉幕手动运行幅度 { get; set; }

        [DP(0x08, 0x09)]
        [DataMember]
        [MsgVM]
        public short P1拉幕光照上限 { get; set; }

        [DP(0x0A, 0x0B)]
        [DataMember]
        [MsgVM]
        public short P1拉幕光照下限 { get; set; }

        #region P1拉幕光照有效性

        [MsgVM]
        public byte P1拉幕光照有效性
        {
            get
            {
                return OldUtility.GetACC0(P1拉幕光照有效性EX);
            }
            set
            {
                P1拉幕光照有效性EX = (byte)(P1拉幕光照有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1拉幕光照有效性ACC { get; set; }

        [SP(0x0C)]
        [DataMember]
        public byte P1拉幕光照有效性EX { get; set; }

        #endregion

        [SP(0x0D)]
        [DataMember]
        [MsgVM]
        public byte P1拉幕温室温度上限 { get; set; }

        [SP(0x0E)]
        [DataMember]
        [MsgVM]
        public byte P1拉幕温室温度下限 { get; set; }

        #region P1拉幕温室温度有效性

        [MsgVM]
        public byte P1拉幕温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(P1拉幕温室温度有效性EX);
            }
            set
            {
                P1拉幕温室温度有效性EX = (byte)(P1拉幕温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1拉幕温室温度有效性ACC { get; set; }

        [SP(0x0F)]
        [DataMember]
        public byte P1拉幕温室温度有效性EX { get; set; }

        #endregion

        [SP(0x10)]
        [DataMember]
        [MsgVM]
        public byte P1拉幕确认时间 { get; set; }


        [DP(0x11, 0x12)]
        [DataMember]
        public short P1拉幕全程运行时间 { get; set; }

        [MsgVM]
        public string P1拉幕全程运行时间字符串
        {
            get
            {
                return OldUtility.ConvertShortToTimeString(P1拉幕全程运行时间);
            }
            set
            {
                P1拉幕全程运行时间 = OldUtility.ConvertTimeStringToShort(value);
            }
        }

        #endregion

        #region P2拉幕

        #region P2拉幕手动自动标志

        [MsgVM]
        public byte P2拉幕手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(P2拉幕手动自动标志EX);
            }
            set
            {
                P2拉幕手动自动标志EX = (byte)(P2拉幕手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2拉幕手动自动标志ACC { get; set; }

        [SP(0x13)]
        [DataMember]
        public byte P2拉幕手动自动标志EX { get; set; }

        #endregion

        #region P2拉幕手动运行方向

        [MsgVM]
        public byte P2拉幕手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(P2拉幕手动运行方向EX);
            }
            set
            {
                P2拉幕手动运行方向EX = (byte)(P2拉幕手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2拉幕手动运行方向ACC { get; set; }

        [SP(0x14)]
        [DataMember]
        public byte P2拉幕手动运行方向EX { get; set; }

        #endregion

        [SP(0x15)]
        [MsgVM]
        [DataMember]
        public byte P2拉幕手动运行幅度 { get; set; }

        [DP(0x16, 0x17)]
        [DataMember]
        [MsgVM]
        public short P2拉幕光照上限 { get; set; }

        [DP(0x18, 0x19)]
        [DataMember]
        [MsgVM]
        public short P2拉幕光照下限 { get; set; }

        #region P2拉幕光照有效性

        [MsgVM]
        public byte P2拉幕光照有效性
        {
            get
            {
                return OldUtility.GetACC0(P2拉幕光照有效性EX);
            }
            set
            {
                P2拉幕光照有效性EX = (byte)(P2拉幕光照有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2拉幕光照有效性ACC { get; set; }

        [SP(0x1A)]
        [DataMember]
        public byte P2拉幕光照有效性EX { get; set; }

        #endregion

        [SP(0x1B)]
        [DataMember]
        [MsgVM]
        public byte P2拉幕温室温度上限 { get; set; }

        [SP(0x1C)]
        [DataMember]
        [MsgVM]
        public byte P2拉幕温室温度下限 { get; set; }

        #region P2拉幕温室温度有效性

        [MsgVM]
        public byte P2拉幕温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(P2拉幕温室温度有效性EX);
            }
            set
            {
                P2拉幕温室温度有效性EX = (byte)(P2拉幕温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2拉幕温室温度有效性ACC { get; set; }

        [SP(0x1D)]
        [DataMember]
        public byte P2拉幕温室温度有效性EX { get; set; }

        #endregion

        [SP(0x1E)]
        [DataMember]
        [MsgVM]
        public byte P2拉幕确认时间 { get; set; }


        [DP(0x1F, 0x20)]
        [DataMember]
        public short P2拉幕全程运行时间 { get; set; }

        [MsgVM]
        public string P2拉幕全程运行时间字符串
        {
            get
            {
                return OldUtility.ConvertShortToTimeString(P2拉幕全程运行时间);
            }
            set
            {
                P2拉幕全程运行时间 = OldUtility.ConvertTimeStringToShort(value);
            }
        }

        #endregion

        #region P1通风窗

        #region P1通风窗手动自动标志

        [MsgVM]
        public byte P1通风窗手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(P1通风窗手动自动标志EX);
            }
            set
            {
                P1通风窗手动自动标志EX = (byte)(P1通风窗手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1通风窗手动自动标志ACC { get; set; }

        [SP(0x21)]
        [DataMember]
        public byte P1通风窗手动自动标志EX { get; set; }

        #endregion

        #region P1通风窗手动运行方向

        [MsgVM]
        public byte P1通风窗手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(P1通风窗手动运行方向EX);
            }
            set
            {
                P1通风窗手动运行方向EX = (byte)(P1通风窗手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1通风窗手动运行方向ACC { get; set; }

        [SP(0x22)]
        [DataMember]
        public byte P1通风窗手动运行方向EX { get; set; }



        [SP(0x23)]
        [MsgVM]
        [DataMember]
        public byte P1通风窗手动运行幅度 { get; set; }

        #region P1通风窗温室温度有效性

        [MsgVM]
        public byte P1通风窗温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(P1通风窗温室温度有效性EX);
            }
            set
            {
                P1通风窗温室温度有效性EX = (byte)(P1通风窗温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P1通风窗温室温度有效性ACC { get; set; }

        [SP(0x24)]
        [DataMember]
        public byte P1通风窗温室温度有效性EX { get; set; }

        #endregion


        [SP(0x25)]
        [DataMember]
        [MsgVM]
        public byte P1通风窗温室温度上限 { get; set; }

        [SP(0x26)]
        [DataMember]
        [MsgVM]
        public byte P1通风窗温室温度下限 { get; set; }

        [SP(0x27)]
        [DataMember]
        [MsgVM]
        public byte P1通风窗室外温度下限 { get; set; }

        [SP(0x28)]
        [DataMember]
        [MsgVM]
        public byte P1通风窗确认时间 { get; set; }

        [DP(0x29, 0x2A)]
        [DataMember]
        public short P1通风窗全程运行时间 { get; set; }

        [MsgVM]
        public string P1通风窗全程运行时间字符串
        {
            get
            {
                return OldUtility.ConvertShortToTimeString(P1通风窗全程运行时间);
            }
            set
            {
                P1通风窗全程运行时间 = OldUtility.ConvertTimeStringToShort(value);
            }
        }

        #endregion
        #endregion

        #region P2通风窗

        #region P2通风窗手动自动标志

        [MsgVM]
        public byte P2通风窗手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(P2通风窗手动自动标志EX);
            }
            set
            {
                P2通风窗手动自动标志EX = (byte)(P2通风窗手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2通风窗手动自动标志ACC { get; set; }

        [SP(0x2B)]
        [DataMember]
        public byte P2通风窗手动自动标志EX { get; set; }

        #endregion

        #region P2通风窗手动运行方向

        [MsgVM]
        public byte P2通风窗手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(P2通风窗手动运行方向EX);
            }
            set
            {
                P2通风窗手动运行方向EX = (byte)(P2通风窗手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2通风窗手动运行方向ACC { get; set; }

        [SP(0x2C)]
        [DataMember]
        public byte P2通风窗手动运行方向EX { get; set; }



        [SP(0x2D)]
        [MsgVM]
        [DataMember]
        public byte P2通风窗手动运行幅度 { get; set; }

        #region P2通风窗温室温度有效性

        [MsgVM]
        public byte P2通风窗温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(P2通风窗温室温度有效性EX);
            }
            set
            {
                P2通风窗温室温度有效性EX = (byte)(P2通风窗温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte P2通风窗温室温度有效性ACC { get; set; }

        [SP(0x2E)]
        [DataMember]
        public byte P2通风窗温室温度有效性EX { get; set; }

        #endregion


        [SP(0x2F)]
        [DataMember]
        [MsgVM]
        public byte P2通风窗温室温度上限 { get; set; }

        [SP(0x30)]
        [DataMember]
        [MsgVM]
        public byte P2通风窗温室温度下限 { get; set; }

        [SP(0x31)]
        [DataMember]
        [MsgVM]
        public byte P2通风窗室外温度下限 { get; set; }

        [SP(0x32)]
        [DataMember]
        [MsgVM]
        public byte P2通风窗确认时间 { get; set; }

        [DP(0x33, 0x34)]
        [DataMember]
        public short P2通风窗全程运行时间 { get; set; }

        [MsgVM]
        public string P2通风窗全程运行时间字符串
        {
            get
            {
                return OldUtility.ConvertShortToTimeString(P2通风窗全程运行时间);
            }
            set
            {
                P2通风窗全程运行时间 = OldUtility.ConvertTimeStringToShort(value);
            }
        }

        #endregion
        #endregion

        #region 灌溉加湿电磁阀

        #region 灌溉加湿电磁阀手动自动标志

        [MsgVM]
        public byte 灌溉加湿电磁阀手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(灌溉加湿电磁阀手动自动标志EX);
            }
            set
            {
                灌溉加湿电磁阀手动自动标志EX = (byte)(灌溉加湿电磁阀手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀手动自动标志ACC { get; set; }

        [SP(0x35)]
        [DataMember]
        public byte 灌溉加湿电磁阀手动自动标志EX { get; set; }

        #endregion

        #region 灌溉加湿电磁阀手动运行方向

        [MsgVM]
        public byte 灌溉加湿电磁阀手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(灌溉加湿电磁阀手动运行方向EX);
            }
            set
            {
                灌溉加湿电磁阀手动运行方向EX = (byte)(灌溉加湿电磁阀手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀手动运行方向ACC { get; set; }

        [SP(0x36)]
        [DataMember]
        public byte 灌溉加湿电磁阀手动运行方向EX { get; set; }

        #endregion

        [SP(0x37)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀土壤湿度下限 { get; set; }

        [SP(0x38)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀土壤湿度上限 { get; set; }

        #region 灌溉加湿电磁阀土壤湿度有效性

        [MsgVM]
        public byte 灌溉加湿电磁阀土壤湿度有效性
        {
            get
            {
                return OldUtility.GetACC0(灌溉加湿电磁阀土壤湿度有效性EX);
            }
            set
            {
                灌溉加湿电磁阀土壤湿度有效性EX = (byte)(灌溉加湿电磁阀土壤湿度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀土壤湿度有效性ACC { get; set; }

        [SP(0x39)]
        [DataMember]
        public byte 灌溉加湿电磁阀土壤湿度有效性EX { get; set; }

        [SP(0x3A)]
        [DataMember]
        [MsgVM]
        public short 灌溉加湿电磁阀湿度确认时间 { get; set; }

        #endregion

        #region 灌溉加湿电磁阀固定灌溉有效性

        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉有效性
        {
            get
            {
                return OldUtility.GetACC0(灌溉加湿电磁阀固定灌溉有效性EX);
            }
            set
            {
                灌溉加湿电磁阀固定灌溉有效性EX = (byte)(灌溉加湿电磁阀固定灌溉有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉有效性ACC { get; set; }

        [SP(0x3B)]
        [DataMember]
        public byte 灌溉加湿电磁阀固定灌溉有效性EX { get; set; }

        #endregion

        [SP(0x3C)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉起始时间1小时 { get; set; }

        [SP(0x3D)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉起始时间1分钟 { get; set; }

        [SP(0x3E)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀灌溉时长1分钟 { get; set; }


        [SP(0x3F)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀灌溉时长1小时 { get; set; }



        [SP(0x40)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉起始时间2小时 { get; set; }

        [SP(0x41)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀固定灌溉起始时间2分钟 { get; set; }

        [SP(0x42)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀灌溉时长2分钟 { get; set; }


        [SP(0x43)]
        [DataMember]
        [MsgVM]
        public byte 灌溉加湿电磁阀灌溉时长2小时 { get; set; }


        #endregion

        #region  风机

        #region  风机手动自动标志

        [MsgVM]
        public byte 风机手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(风机手动自动标志EX);
            }
            set
            {
                风机手动自动标志EX = (byte)(风机手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 风机手动自动标志ACC { get; set; }

        [SP(0x44)]
        [DataMember]
        public byte 风机手动自动标志EX { get; set; }

        #endregion

        #region  风机手动运行方向

        [MsgVM]
        public byte 风机手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(风机手动运行方向EX);
            }
            set
            {
                风机手动运行方向EX = (byte)(风机手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 风机手动运行方向ACC { get; set; }

        [SP(0x45)]
        [DataMember]
        public byte 风机手动运行方向EX { get; set; }

        #endregion


        [SP(0x46)]
        [DataMember]
        [MsgVM]
        public byte 风机温室温度上限 { get; set; }


        [SP(0x47)]
        [DataMember]
        [MsgVM]
        public byte 风机温室温度下限 { get; set; }

        #region  风机温室温度有效性

        [MsgVM]
        public byte 风机温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(风机温室温度有效性EX);
            }
            set
            {
                风机温室温度有效性EX = (byte)(风机温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 风机温室温度有效性ACC { get; set; }

        [SP(0x48)]
        [DataMember]
        public byte 风机温室温度有效性EX { get; set; }

        #endregion

        [SP(0x49)]
        [DataMember]
        [MsgVM]
        public byte 风机室外温度下限低字节用于不开风扇 { get; set; }

        [SP(0x4A)]
        [DataMember]
        [MsgVM]
        public byte 风机温度确认时间 { get; set; }

        #endregion

        #region 湿帘泵

        #region 湿帘泵手动自动标志

        [MsgVM]
        public byte 湿帘泵手动自动标志
        {
            get
            {
                return OldUtility.GetACC0(湿帘泵手动自动标志EX);
            }
            set
            {
                湿帘泵手动自动标志EX = (byte)(湿帘泵手动自动标志ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 湿帘泵手动自动标志ACC { get; set; }

        [SP(0x4B)]
        [DataMember]
        public byte 湿帘泵手动自动标志EX { get; set; }

        #endregion

        #region 湿帘泵手动运行方向

        [MsgVM]
        public byte 湿帘泵手动运行方向
        {
            get
            {
                return OldUtility.GetACC0(湿帘泵手动运行方向EX);
            }
            set
            {
                湿帘泵手动运行方向EX = (byte)(湿帘泵手动运行方向ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 湿帘泵手动运行方向ACC { get; set; }

        [SP(0x4C)]
        [DataMember]
        public byte 湿帘泵手动运行方向EX { get; set; }

        #endregion


        [SP(0x4D)]
        [DataMember]
        [MsgVM]
        public byte 湿帘泵温室温度上限 { get; set; }

        [SP(0x4E)]
        [DataMember]
        [MsgVM]
        public byte 湿帘泵温室温度下限 { get; set; }

        #region 湿帘泵温室温度有效性

        [MsgVM]
        public byte 湿帘泵温室温度有效性
        {
            get
            {
                return OldUtility.GetACC0(湿帘泵温室温度有效性EX);
            }
            set
            {
                湿帘泵温室温度有效性EX = (byte)(湿帘泵温室温度有效性ACC + value);
            }
        }

        [DataMember]
        [MsgVM]
        public byte 湿帘泵温室温度有效性ACC { get; set; }

        [SP(0x4F)]
        [DataMember]
        public byte 湿帘泵温室温度有效性EX { get; set; }

        [SP(0x50)]
        [DataMember]
        [MsgVM]
        public byte 湿帘泵室外温度下限低字节用于不开泵 { get; set; }

        [SP(0x51)]
        [DataMember]
        [MsgVM]
        public byte 湿帘泵温度确认时间 { get; set; }

        #endregion

        [SP(0x52)]
        [DataMember]
        [MsgVM]
        public byte 温室温度报警上限 { get; set; }

        [SP(0x53)]
        [DataMember]
        [MsgVM]
        public byte 温室温度报警下限 { get; set; }

        [SP(0x54)]
        [DataMember]
        [MsgVM]
        public byte 土壤湿度报警上限 { get; set; }

        [SP(0x55)]
        [DataMember]
        [MsgVM]
        public byte 土壤湿度报警下限 { get; set; }

        [SP(0x56)]
        [DataMember]
        [MsgVM]
        public byte 报警确认时间 { get; set; }

        #endregion
    }
}
